/**
 * API配置工具
 * 自动检测和配置API基础URL
 */

/**
 * 获取API基础URL
 * 优先级：
 * 1. 环境变量 VUE_APP_API_BASE_URL
 * 2. 自动检测当前主机地址（开发环境）
 * 3. 默认 localhost:8000
 */
export function getApiBaseUrl() {
  // 如果环境变量已设置，直接使用
  if (process.env.VUE_APP_API_BASE_URL) {
    return process.env.VUE_APP_API_BASE_URL
  }
  
  // 开发环境：自动检测当前主机地址（仅在浏览器环境中）
  if (process.env.NODE_ENV === 'development' && typeof window !== 'undefined' && window.location) {
    const hostname = window.location.hostname
    const protocol = window.location.protocol
    // 如果是内网IP或域名，使用当前主机地址
    if (hostname !== 'localhost' && hostname !== '127.0.0.1') {
      return `${protocol}//${hostname}:8000`
    }
  }
  
  // 默认使用localhost（仅用于本地开发）
  return 'http://localhost:8000'
}

/**
 * 获取图片完整URL
 * @param {string} imagePath - 图片路径（相对或绝对）
 * @returns {string} 完整的图片URL
 */
export function getImageUrl(imagePath) {
  if (!imagePath) return ''
  
  // 如果已经是完整URL，直接返回
  if (imagePath.startsWith('http://') || imagePath.startsWith('https://')) {
    return imagePath
  }
  
  // 如果是相对路径，添加API基础URL
  const baseUrl = getApiBaseUrl()
  if (imagePath.startsWith('/media/') || imagePath.startsWith('/static/')) {
    return `${baseUrl}${imagePath}`
  }
  
  // 如果只是文件名，尝试构建完整路径
  if (!imagePath.startsWith('/')) {
    return `${baseUrl}/media/${imagePath}`
  }
  
  return imagePath
}

